package cfca.paperless.client.servlet._4_manager._4_04_AutoUploadTemplateInfo;

import java.io.File;

import org.apache.commons.io.FileUtils;

import cfca.paperless.client.servlet.PaperlessConfig;
import cfca.paperless.client.servlet.PaperlessManagerClient;
import cfca.paperless.client.util.GUID;
import cfca.paperless.client.util.IoUtil;
import cfca.paperless.client.util.StringUtil;

/**
 * @Description 2.4 自动化上传模板接口，使用示例。
 * @Author dell
 * @Date 2016-5-13
 * @CodeReviewer TODO
 */
public class AutoUploadTemplateInfoTest02 {

    public static void main(String[] args) throws Exception {
        try {
            PaperlessManagerClient clientBean = new PaperlessManagerClient(PaperlessConfig.managerUrl, 10000, 60000);// 无纸化管理接口的访问URL

            byte[] template = FileUtils.readFileToByteArray(new File("./TestData/tmp.pdf"));

            String templateCode = "201712191119067745644277361728";
            System.out.println(templateCode);
            
            String templateStrategyXml = "<TemplateInfo>" 
                    + "<TemplateCode>" + templateCode + "</TemplateCode>" // 模板号
                    + "<TemplateName>" + "模板-现金支取111" + "</TemplateName>" // 模板名称
                    + "<TemplateVersion>" + "2.0" + "</TemplateVersion>" // 版本号
                    + "</TemplateInfo>";

            // 操作类型，1：增加，3：修改
            String operationType = "3";
            
            // 操作员编码或者机构编码
            String operatorCode = PaperlessConfig.operatorCode;

            // 取得转换后的PDF文件数据
            String result = clientBean.autoUploadTemplateInfo(template, templateStrategyXml, operationType, operatorCode);

            String code = StringUtil.getNodeText(result, "Code");

            if ("200".equals(code)) {
                System.out.println("OK:autoUploadTemplateInfo");
                System.out.println(result);
            } else {
                // 处理结果为异常，打印出错误码和错误信息
                System.out.println("NG:autoUploadTemplateInfo");
                System.out.println(result);
            }

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}
